home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 16
/
Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso
/
Aminet
/
misc
/
emu
/
QDOS2.lha
/
QLsource
/
ROMsrc
/
SYS
/
PROCS4_asm
< prev
next >
Wrap
Text File
|
1995-08-27
|
2KB
|
96 lines
*/beginfile PROCS4_asm
; --------------------------------------------------------------
; PROCS4_asm - BASIC bits
; - last modified 27/08/95
; QDOS-Amiga sources by Rainer Kowallik
; ...some changes by Mark J Swift
; --------------------------------------------------------------
L06788:
BAS_ADATe:
JSR GET_INT4(PC) ;*/undomodify BSR GET_INT4
BNE.S L067AE
ADDQ.L #4,BV_RIP(A6) ;arith stack
MOVE.L 0(A6,A1.L),D1
MOVEQ #$15,D0 ; MT.ACLCK adjusts the clock
; (D1 sec.)
TRAP #1
BRA.S L0680C
BAS_SDATe:
JSR CA_GTLIN(PC) ;*/undomodify BSR CA_GTLIN
BNE.S L0680E
MOVEQ #-15,D0
LSL.L #2,D3
ADD.L D3,BV_RIP(A6) ;arith stack
LSR.L #2,D3
SUBQ.W #6,D3
L067AE BNE.S L0680E
MOVE.L 0(A6,A1.L),D0
SUBI.L #$7A9,D0
MOVE.L D0,D1
MULU #$016D,D1
MOVE.L 4(A6,A1.L),D2
DIVU #4,D0
SWAP D0
CMPI.W #3,D0
BNE.S L067D8
CMPI.W #2,D2
BLE.S L067D8
ADDQ.L #1,D1
L067D8 CLR.W D0
SWAP D0
ADD.L D0,D1
SUBQ.L #1,D2
ASL.W #1,D2
LEA DAY_TABL(PC,D2.W),A2 ; table of days
CLR.L D0
MOVE.W (A2),D0
ADD.L D0,D1
ADD.L 8(A6,A1.L),D1
SUBQ.W #1,D1
MOVEQ #$18,D0
BSR.S L0682A
ADD.L $0C(A6,A1.L),D1
MOVEQ #$3C,D0
BSR.S L0682A
ADD.L $10(A6,A1.L),D1
BSR.S L0682A
ADD.L $14(A6,A1.L),D1
MOVEQ #$14,D0 ; MT.SCLCK sets the clock
; (D1 sec.)
TRAP #1
L0680C MOVEQ #0,D0
L0680E TST.L D0
RTS
DAY_TABL ; table of days
DC.L $0000001F,$003B005A,$00780097,$00B500D4
DC.L $00F30111,$0130014E
L0682A ; multiply integer long in D0 with integer long in D1
BSR.S L0684E
MOVE.L D4,D3
SWAP D0
SWAP D1
BSR.S L0684E
MOVE.L D4,D2
SWAP D0
SWAP D3
BSR.S L0684E
BSR.S L06854
SWAP D0
SWAP D1
BSR.S L0684E
BSR.S L06854
SWAP D3
SWAP D0
MOVE.L D3,D1
RTS
L0684E MOVE.L D0,D4
MULU D1,D4
RTS
L06854 ADD.W D4,D3
CLR.W D4
SWAP D4
ADDX.L D4,D2
RTS
; --------------------------------------------------------------
;*/endfile